home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Magazin/MacEasy 19
/
Mac Magazin and MacEasy Magazine CD - Issue 19.iso
/
Utilities
/
uae-0.4
/
amiga
/
transdisk.c
< prev
next >
Wrap
C/C++ Source or Header
|
1996-02-05
|
1KB
|
58 lines
#include <stdio.h>
#include <exec/devices.h>
#include <exec/io.h>
#include <exec/memory.h>
#include <devices/trackdisk.h>
#include <clib/alib_protos.h>
#include <clib/exec_protos.h>
int main(int argc, char **argv)
{
struct IOStdReq *ioreq;
int signal;
struct MsgPort *port;
UBYTE *buffer;
char devicebuf[256];
char *devicename = "trackdisk.device";
char devicenum = 0;
int i;
for (i = 1; i < argc; i++) {
if (isdigit(*(argv[i])))
devicenum = atoi(argv[i]);
else {
sprintf(devicebuf, "%s.device", argv[i]);
devicename = devicebuf;
}
}
buffer = AllocMem(512, MEMF_CHIP);
port = CreatePort(0, 0);
if (port) {
ioreq = CreateStdIO(port);
if (ioreq) {
if (OpenDevice(devicename, devicenum, ioreq, 0) == 0) {
int tr, sec;
ioreq->io_Command = CMD_READ;
ioreq->io_Length = 512;
ioreq->io_Data = buffer;
for (tr = 0; tr < 160; tr++) {
for (sec = 0; sec < 11; sec++) {
ioreq->io_Offset = 512 * (tr * 11 + sec);
DoIO(ioreq);
fwrite(buffer, sizeof(UBYTE), 512, stdout);
}
}
CloseDevice(ioreq);
} else
fprintf(stderr,"Unable to open %s unit %d\n", devicename, devicenum);
DeleteStdIO(ioreq);
}
}
FreeMem(buffer, 512);
}